using System;
using System.Collections.Generic;
using System.Text;

namespace Kdg.Tools.FilesCopier
{
    public partial class FilesCopierProcessor
    {
        public class CopyCompleteEventArgs
        {
            private int _filesCopied;
            private int _foldersCopied;
            private double _averageSpeed;
            private long _bytesCopied;
            private DateTime _endTime;
            private DateTime _startTime;
            private bool _canceled = false;

            public CopyCompleteEventArgs()
            {
                _startTime = DateTime.Now;
            }

            public int FilesCopied
            {
                get { return _filesCopied; }
                set { _filesCopied = value; }
            }
            public int FoldersCopied
            {
                get { return _foldersCopied; }
                set { _foldersCopied = value; }
            }
            public double AverageSpeed
            {
                get { return _averageSpeed; }
                set { _averageSpeed = value; }
            }
            public long BytesCopied
            {
                get { return _bytesCopied; }
                set { _bytesCopied = value; }
            }
            public TimeSpan WorkingTime
            {
                get { return _endTime - _startTime; }
            }
            public DateTime StartTime
            {
                get { return _startTime; }
                set { _startTime = value; }
            }
            public DateTime EndTime
            {
                get { return _endTime; }
                set { _endTime = value; }
            }
            public void Complete()
            {
                _endTime = DateTime.Now;
            }
            public bool Canceled
            {
                get { return _canceled; }
                set { _canceled = value; }
            }
        }
    }
}
